package com.college.products.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.college.common.pojo.ao.DeliveryAddress;
import com.college.common.pojo.dto.products.AddDeliveryAddressDTO;
import com.college.common.pojo.dto.products.QueryDeliveryAddressDTO;
import com.college.common.pojo.dto.products.UpdateDeliveryAddressDTO;
import com.college.common.pojo.model.page.PageParamRequest;
import com.college.common.response.CommonResult;

import java.util.List;

/**
 * 收货地址 服务类
 * @author 小C工作室
 * @since 2025-02-22
 */
public interface DeliveryAddressService extends IService<DeliveryAddress> {

    /**
     * 获取收货地址集合
     *
     * @param queryDeliveryAddressDTO 查询对象
     * @return 收货地址集合
     */
    List<DeliveryAddress> queryList(QueryDeliveryAddressDTO queryDeliveryAddressDTO);

    /**
     * 获取收货地址集合分页
     *
     * @param queryDeliveryAddressDTO 查询对象
     * @param pageParamRequest 分页对象
     * @return 收货地址集合
     */
    List<DeliveryAddress> queryListPage(QueryDeliveryAddressDTO queryDeliveryAddressDTO, PageParamRequest pageParamRequest);

    /**
     * 新增收货地址
     *
     * @param addDeliveryAddressDTO 新增收货地址对象
     * @return 是否成功
     */
    CommonResult<String> addDeliveryAddress(AddDeliveryAddressDTO addDeliveryAddressDTO);

    /**
     * 更新收货地址
     *
     * @param updateDeliveryAddressDTO 更新收货地址对象
     * @return 是否成功
     */
    CommonResult<String> updateDeliveryAddress(UpdateDeliveryAddressDTO updateDeliveryAddressDTO);
}
